A indústria dos games configura-se, atualmente, como um dos setores mais expressivos e dinâmicos da economia global, destacando-se não apenas pelo volume financeiro que movimenta, mas também por sua relevância cultural, social e tecnológica. Desde sua consolidação na década de 1970, com o surgimento dos primeiros consoles domésticos, como o Atari 2600, este mercado tem experimentado um crescimento contínuo, impulsionado pelo avanço tecnológico, pela diversificação dos perfis de consumidores e pela constante inovação em produtos e serviços.
A trajetória evolutiva dos videogames pode ser compreendida por meio das principais gerações de consoles, cada uma representando marcos significativos no desenvolvimento da indústria. As primeiras gerações foram caracterizadas por gráficos simplificados, experiências de jogo limitadas e uma proposta de entretenimento doméstico inovadora para a época. Na sequência, com o advento de consoles como o Nintendo Entertainment System (NES) e o Sega Genesis, houve uma expansão significativa da base de usuários, além de avanços na qualidade dos gráficos, trilhas sonoras e na complexidade dos jogos.
O mercado continuou sua transformação ao longo das gerações seguintes, com o surgimento de plataformas como PlayStation, Xbox e Nintendo 64, que introduziram gráficos tridimensionais, armazenamento em mídia ótica e experiências de jogo mais imersivas. Posteriormente, a indústria expandiu-se para além dos consoles físicos, incorporando plataformas móveis, computadores e, mais recentemente, serviços de streaming e jogos em nuvem. As gerações mais atuais, representadas pelo PlayStation 5, Xbox Series X|S e Nintendo Switch, evidenciam uma convergência entre desempenho gráfico, processamento avançado, conectividade e integração com serviços digitais, além da crescente adoção de tecnologias como realidade virtual (VR) e realidade aumentada (AR).
Diante desse panorama de constante transformação, torna-se fundamental compreender os padrões que regem o comportamento do mercado de games, especialmente no que tange às dinâmicas de vendas, preferências de gênero, evolução das plataformas e a atuação das publishers (empresas desenvolvedoras e distribuidoras de jogos). Este trabalho tem como objetivo realizar uma análise descritiva e exploratória da indústria de videogames, utilizando como base um conjunto de dados que abrange informações sobre vendas globais, plataformas, gêneros e publishers, totalizando milhares de registros e variáveis.
A partir da exploração desse dataset, busca-se compreender não apenas os títulos mais bem-sucedidos em termos de vendas, mas também traçar a evolução do mercado ao longo do tempo, identificando tendências, ciclos de crescimento e declínio, além da participação de mercado das principais empresas desenvolvedoras. Adicionalmente, serão analisadas as correlações entre as vendas em diferentes regiões do mundo, bem como o comportamento específico dos consumidores de acordo com o gênero dos jogos e as características das plataformas.
Dessa forma, este relatório pretende oferecer uma visão abrangente sobre a evolução da indústria de games, contribuindo para a compreensão das dinâmicas mercadológicas que moldaram, e continuam moldando, um dos setores mais inovadores e relevantes da indústria contemporânea.
### Importar bibliotecas
getwd()
## [1] "C:/Users/dipis/OneDrive/Área de Trabalho/Pastas/R/Trabalho R"
setwd("C:\\Users\\dipis\\OneDrive\\Área de Trabalho\\Pastas\\R\\Trabalho R")
library(renv)
##
## Anexando pacote: 'renv'
## Os seguintes objetos são mascarados por 'package:stats':
##
## embed, update
## Os seguintes objetos são mascarados por 'package:utils':
##
## history, upgrade
## Os seguintes objetos são mascarados por 'package:base':
##
## autoload, load, remove, use
library(git2r)
##
## Anexando pacote: 'git2r'
## Os seguintes objetos são mascarados por 'package:renv':
##
## checkout, init, status
library(ggplot2)
library(tidyr)
library(readr)
library(forcats)
library(dplyr)
##
## Anexando pacote: 'dplyr'
## O seguinte objeto é mascarado por 'package:git2r':
##
## pull
## Os seguintes objetos são mascarados por 'package:stats':
##
## filter, lag
## Os seguintes objetos são mascarados por 'package:base':
##
## intersect, setdiff, setequal, union
### Vai colar o repositório do github que está o trabalho do R
#clone("https://github.com/diegopiresss/Trabalho---video_games_sales", "Trabalho R")
df <- read_csv("C:\\Users\\dipis\\OneDrive\\Área de Trabalho\\Pastas\\R\\Trabalho R\\dados_games_a.csv")
## Rows: 64016 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (6): img, title, console, genre, publisher, developer
## dbl (6): critic_score, total_sales, na_sales, jp_sales, pal_sales, other_sales
## date (2): release_date, last_update
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
df <- df %>% select(-img)
df
#unique(df$console)
#unique(df$genre)
#unique(df$publisher) não deixar esse unique, muito grande, usei só para ver o que ia ter que dropar
#unique(df$developer)
### Começando a fazer uma limpeza básica, removendo os consoles que tem menos do que 200 jogos
df <- df %>% filter(!console %in% c("SCD", "3D0", "GG", "MS", "PCE", "WW", "2600", "DC", "VC", "GC", "OSX", "And", "All","DSiW"))
df_filtrado <- df %>%
group_by(console) %>%
filter(n() >= 200) %>%
ungroup()
df_filtrado
ggplot(df_filtrado, aes(x = fct_infreq(console))) +
geom_bar(width = 0.5, color = 'steelblue', fill = 'lightblue') +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = "Consoles", y = "Quantidade de jogos", title = "Quantidade de jogos por plataforma")
## Gráfico para saber quais foram os 20 jogos mais vendidos
df_resumido <- df %>%
group_by(title) %>%
summarise(
total_sales = sum(total_sales, na.rm = TRUE),
publisher = first(publisher)
) %>%
arrange(desc(total_sales))
## Filtrar os jogos por colunas
df %>% filter(title == "Grand Theft Auto V")
top20jogos <- df %>% group_by(title) %>% summarise(total_vendas_titulo = sum(total_sales, na.rm = TRUE)) %>% arrange(desc(total_vendas_titulo)) %>% head(20)
top20jogos
top20jogos$title <- factor(top20jogos$title, levels = top20jogos$title)
ggplot(data = top20jogos, aes(x= title, y = total_vendas_titulo)) +
geom_col(color = "steelblue", fill = "lightblue") +
labs(title = '20 Jogos mais vendidos', x = 'Título', y = 'Vendas (em milhões)') +
coord_flip() +
theme_minimal()
Fazer uma análise dos principais títulos e franquias
df
### Separando o dataset por gênero de jogos
df %>%
count(genre) %>%
ggplot(aes(x = fct_reorder(genre, n, .desc = TRUE), y = n)) +
geom_col(color = "steelblue",fill = "lightblue") +
labs(title = "Quantidade de jogos por gênero",
x = "Gênero",
y = "Quantidade de jogos") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
df %>%
filter(console == "Wii") %>%
count(genre) %>%
arrange(desc(n)) %>%
mutate(Genre = factor(genre, levels = genre)) %>%
ggplot(aes(x = genre, y = n)) +
geom_bar(stat = "identity") +
labs(title = "Quantidade de Jogos por Gênero no Wii",
x = "Gênero", y = "Quantidade") +
coord_flip() +
theme_minimal()